$(document).ready( function() {
	
	//获取项目名
	var contextPath = document.location.pathname; 
	var index =contextPath.substr(1).indexOf("/"); 
	contextPath = contextPath.substr(0,index+1); 

	var isReading = false; // 是否处于监视用户输入状态
	var giftInforArr = new Array()// 定义一个数组，用来存储产品实体
	var addPageCount = 1;// 初始化为1
	var len = 0;// 标记数组的长度，删除时-1
	
	/**
	 * 清空table（除了table的首行）
	 * */
	function clearItemTable() {
		$("#itemsTable tr:not(:first)").remove();
	}
	
	/**
	 * 礼品基本信息按钮事件
	 */
	$("#gityList").delegate('#viewGiTypeDir', 'click', function() {
		clearArrAll();//清空数组
		clearItemTable()//清空table
		//礼品分类的id
		var typeId =$(this).attr("objId");
		$("#giftTypeDirId").val(typeId);
		var queryUrl = contextPath+"/manage/giftTypeDir/queryDir.do";
		
		if (typeId != "") {
			clearArrAll();//清除数组
			$.ajax({
				url : queryUrl,
				type : "POST",
				dataType : 'json',
				data : {
					id : typeId,
				},
				cache : false,
				success : function(data) {
//					var typeId=data.typeId;
//					$("#giftTypeDirId").val(typeId);
					
					len = data.resultList.length;
					for (i = 0; i < len; i++) {
						var result = data.resultList[i];
						giftInforArr.push(result);
					}
					getQuery(len);
				},
				error : function(html) {
					alert("出错了");
					return;
				}
			});
		} else {
			/**
			 * 添加的内分页
			 */
			$('#itemPagination').jqPaginator({
				totalPages : addPageCount,
				visiblePages : 10,
				currentPage : 1,
				prev : '<li class="prev"><a href="javascript:void(0);">上一页</a></li>',
				page : '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
				next : '<li class="next"><a href="javascript:void(0);">下一页</a></li>',
				onPageChange : function(num,type) {
					clearItemTable();
					getQuery(len);
				}
			});
		}
		
		
		$("#giTypeDir").modal('show');
	});
	
	
	/**
	 * 
	 * 添加产品
	 */
	$("#searchInfor").delegate('#addItem', 'click', function() {
		var itemId = $("#itemId").val();
		var itemName = $("#itemName").val();
		if (itemName != "") {
			var loadGiftInforUrl = contextPath+"/manage/giftTypeDir/loadGiftInfor.do?id=" + itemId;
			$.ajax({
				url : loadGiftInforUrl,
				dataType : "json",
				success : function(data) {
					if (data != null) {
						var itemTable = $("#itemsTable");//这个方法用来判断这个产品是否存在
						if (isItemInOrder(itemTable,data) <= 0) {
							pushGiftOrder(data);//这个方法用来内分页
						} else {
							alert("[" + data.giftId + "]" + data.giftName + " 已存在于礼品分类中..");
						}
						return;
					}
				},
				error : function(data) {
					alert("加载数据出错");
					return;
				}
			});
		} else {
			alert("请选择要添加的礼品！");
		}
	});
	
	
	/**
	 * 删除添加的记录
	 */
	$("#itemsTable").delegate("button[name='delItem']", 'click', function() {
		if (confirm("是否要删除该记录?") == true) {
			var trId = $(this).attr("rowId");
			var deltrId = $(this).attr("delId");
			var itemId = $("#id_" + deltrId).val();
			var id = $(this).parent().parent().attr("id");
			if (itemId == null || itemId == ""|| itemId == "undefined") {
				giftInforArr.splice(trId,1);
				$(this).parent().parent().remove();
				len = giftInforArr.length;
				getQuery(len);
			} else {
				var delUrl = contextPath+"/manage/giftTypeDir/delItemById.do";
				$.ajax({
					url : delUrl,
					dataType : 'text',
					data : {
						id : itemId
					},
					cache : false,
					success : function(data) {
						giftInforArr.splice(trId,1);
						$(this).parent().parent().remove();
						len = giftInforArr.length;
						getQuery(len);
						return;
					},
					error : function(html) {
						alert("delete Data failly");
						return;
					}
				});
			}
		}
	});
	
	/**
	 * 保存与修改数据
	 */
	$("#optBtnGR").delegate('#saveBtnGR', 'click', function() {
		$("#giftTypeDir").attr("method", "post");
		
		$("#giftTypeDir").attr("action", contextPath+"/manage/giftTypeDir/saveGTypeDir.do");
		clearItemTable();//清空table
		var itemTable = $("#itemsTable");
		for(i=0;i<giftInforArr.length;i++){
			lookItemContent(itemTable,giftInforArr[i],i);
		}
		$("#giftTypeDir").submit();
	});
	
	
	
	/**
	 * 判断列表当中是否已经存在重复的产品
	 */
	function isItemInOrder(itemTable, data) {
		var j = 0;
		for (var i = 0; i < giftInforArr.length; i++) {
			var g = giftInforArr[i];
			if (g == null || g == "" || g == "undefined") {
				continue;
			}
			if (data.giftId == g.giftId) {
				j++;
			}
		}
		return j;
	}
	
	/**
	 * 存储礼品
	 */
	function pushGiftOrder(data) {
		giftInforArr.push(data);
		len=giftInforArr.length;
		getQuery(len);// 分页
	}
	
	/**
	 * 分页函数
	 */
	function getQuery(len) {
		/**
		 * 添加的内分页
		 */
		if (len <= 5) {
			addPageCount = 1;
		} else {
			if (len % 5 == 0) {
				addPageCount = len / 5;
			} else {
				addPageCount = Math.floor((len / 5)) + 1;
			}
		}
		$('#itemPagination').jqPaginator({
			totalPages : addPageCount,
			visiblePages : 10,//可以看到的页数
			currentPage : 1,
			prev : '<li class="prev"><a href="javascript:void(0);">上一页</a></li>',
			page : '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
			next : '<li class="next"><a href="javascript:void(0);">下一页</a></li>',
			onPageChange : function(num, type) {
				clearItemTable();
				var itemTable = $("#itemsTable");
				var start = num * 5 - 5;
				var end = num * 5;
				var groupId = $("#groupId").val();
				var idx = 0;
				for (i = start; i < giftInforArr.length; i++) {
					if(idx<5){
						lookItemContent(itemTable,giftInforArr[i],i);
						idx++;
					}
				}
			}
		});
		return true;
	}
	/**修改*/
	/*多余的框要给其赋值；否则在添加产品所有除了产品本身的字段外，其他的都没有值*/
	function lookItemContent(itemTable, data,rowNum) {
		var typeId= $("#giftTypeDirId").val();
		var rowContent = "<tr id="
		+ data.giftId
		+ ">" 
		//礼品基本信息名称
		+ "<td style='text-align: center;'>" 
		+ "<input id='giftName_"
		+ data.id + "' type='text' name='giftTypeDirVO["
		+ rowNum
		+ "].giftName' itemName='giftName' value='"
		+ data.giftName + "' readonly='readonly' />" ;
		
		if(data.id==null||data.id=='undefined'){
			rowContent = rowContent
			//礼品分类目录明细id
			+ "<input type='hidden'  id='id_"
			+ data.id + "'  name='giftTypeDirVO[" + rowNum
			+ "].id' itemName='id' />" ;
		}
		else{
			rowContent = rowContent
			//礼品分类目录明细id 
			+ "<input type='hidden'  id='id_"
			+ data.id + "'  name='giftTypeDirVO[" + rowNum
			+ "].id' itemName='id' value='"+data.id+"'/>" ;
		}
		rowContent = rowContent
		//礼品分类的id
		+ "<input type='hidden' id='typeId_"
		+ data.id + "'  name='giftTypeDirVO[" + rowNum
		+ "].typeId' itemName='typeId' value='"
		+ typeId + "' />" 
		//礼品基本信息的id
		+"<input type='hidden' id='giftId_' name='giftTypeDirVO[" + rowNum
		+ "].giftId' itemName='giftId' value='"+ data.giftId +"'/>"
		+ "</td>";
		
		if(data.note == null || data.note == 'undefined'){
			//备注
			rowContent = rowContent
			+ "<td style='text-align: center;'>" 
			+ "<input id='note_"
			+ data.id + "' type='text' name='giftTypeDirVO["
			+ rowNum + "].note' rowId='" + rowNum
			+ "' itemName='note' />" 
			+ "</td>";
		}else{
			//备注
			rowContent = rowContent
			+ "<td style='text-align: center;'>" 
			+ "<input id='note_"
			+ data.id + "' type='text' name='giftTypeDirVO["
			+ rowNum + "].note' rowId='" + rowNum
			+ "' itemName='note' value='"+data.note+"'/>" 
			+ "</td>";
		}
		
		
		//操作
		rowContent = rowContent
		+ "<td style='text-align: center;'>" 
		+ "<button name='delItem' rowId='"+rowNum+"' delId='"
		+ data.id+ "' type='button'>删除</button>" 
		+ "</td>";
	
		rowContent = rowContent + "</tr>";
		itemTable.append(rowContent);
		rowNum++;
	}
	
	/*赋值备注note*/
	$("#itemsTable") .delegate("input[itemName='note']", 'blur', function() {
		var note = $(this).val();
		var id = $(this).parent().parent().attr("id");
		var trId = $(this).attr("rowId");
		$("#note" + id).val(note);
		var ele = giftInforArr[trId];
		ele.note = note;
		giftInforArr.splice(trId, 1, ele);
	});
	
	/**
	 * 清空数组
	 */
	function clearArrAll(){
		if(giftInforArr.length>0){
			giftInforArr.splice(0,giftInforArr.length);
		}
	}
	
	//搜索框
	$("#searchInfor").delegate('#itemName', 'change', function() {
					if (!isReading) {
						clearSuggest();
						var itemStr = $('#itemName').val();
						var ajaxUrl = encodeURI(contextPath+"/manage/giftTypeDir/queryGiftInfors.do?condition="+ itemStr);
						$.ajax({
							url : ajaxUrl,
							dataType : "json",
							condition : itemStr,
							success : function(data) {
								if (data != null&& data.result.length > 0) {
									clearSuggest();
									for (i = 0; i < data.result.length; i++) {
										var result = data.result[i];
										createSuggest(result);
									}
									displaySuggest();
								} else {
									hiddenSuggest();
								}
								isReading = false;
							},
							error : function(data) {
								alert("加载数据出错");
								return;
							}
						});
					}
				});
	$("#searchInfor").delegate('#itemName', 'keyup', function() {
		if (!isReading) {
			clearSuggest();
			var itemStr = $('#itemName').val();
			var ajaxUrl = encodeURI(contextPath+"/manage/giftTypeDir/queryGiftInfors.do?condition=" + itemStr);
			$.ajax({
				url : ajaxUrl,
				dataType : "json",
				condition : itemStr,
				success : function(data) {
					if (data != null && data.result.length > 0) {
						for (i = 0; i < data.result.length; i++) {
							var result = data.result[i];
							createSuggest(result);
						}
						displaySuggest();
					} else {
						hiddenSuggest();
					}
					isReading = false;
				},
				error : function(data) {
					alert("加载数据出错");
					return;
				}
			});
		}
	});
	
	
	/**赋值给搜索框*/
	$("#searchInfor").delegate('[name="out"]', 'click',
			function() {
				setSuggest(this);

			});
	/**获取要赋值的搜索框的name值*/
	function setSuggest(src) {
		document.getElementById("itemName").value = src.innerHTML;
		document.getElementById("itemId").value = src.id;
		hiddenSuggest();
	}
					
	/**
	 * 根据不同单据类型，把查出来的规格数据集合放入select组件中
	 */
	function createSuggest(data) {
		var sDiv = "<div name='out' class='out'onmouseover=\"this.className='over'\""
				+ "onmouseout=\"this.className='out'\" id='"
				+ data.id + "'>" + data.giftName + "</div>";
		document.getElementById("selectItem").innerHTML += sDiv;
	}
	/** 显示提示信息 */
	function displaySuggest() {
		document.getElementById("selectItem").style.display = "";
	}
	/** 隐藏提示信息 */
	function hiddenSuggest() {
		document.getElementById("selectItem").style.display = "none";
	}
	/** 清空提示信息 */
	function clearSuggest() {
		document.getElementById("selectItem").innerHTML = "";
	}
	
});


/**
 * 刷新页面
 * */
function refresh() {
	window.location.reload();
}
